
var navigation = '主管理界面';
var settings = '其他设置';

Ext.require([
	'SnowMIS.view.CheckColumn'
]);

/**
 * 主体框架控制层
 * 
 * @author shaobin.software@gmail.com
 * @date 2012-09-12
 */
Ext.define('SnowMIS.controller.MainPage',{
	extend: 'Ext.app.Controller' // 继承父类
	, views: [ // 视图层信息
    ]
    , stores:[ // 加载数据
    	'SnowMIS.store.system.MenuTree'
    ]
    , models:[ // 模型层信息
    	'SnowMIS.model.system.Menu'
    ]
    , init: function (application) { // 初始化方法
		this.control({
			'viewport' : {
				afterrender : this.initFrameUI
			}
		});
    }
    , initFrameUI : function() { // 初始化框架UI
    	// 1、初始化加载信息
    	this.initLoading();
    	// 2、初始化头部面板信息
    	this.initHeaderPanel();
    	// 3、初始化左边面板信息
    	this.initWestenPanel();
    	// 4、初始化中央面板信息
    	this.initCenterPanel();
    }
    , initLoading : function() { // 初始化加载信息
    	setTimeout(function() {
			Ext.get("loading").fadeOut({
				duration : 0.6,
				remove : true
			});
			Ext.get("loading-mask").fadeOut({
				duration : 0.6,
				remove : true
			});
		}, 650);
    }
    , initHeaderPanel : function() { // 初始化头部面板
    	// todo
    }
    , initWestenPanel : function() { // 初始化西部面板
    	var westernPanel = Ext.getCmp('westernPanel');
    	if (westernPanel && ((typeof(westernPanel.add) == 'function'))) {
    		westernPanel.add(Ext.create('SnowMIS.view.system.MenuTree', {
    			title : navigation
    			, listeners : {
    				'itemclick' : function(view, record, item, index, e, eOpts) {
    					if (record.isLeaf()) { // 判断是否为叶子节点
    						var centerPanel = Ext.getCmp('centerPanel'); // 获取中央面板的信息
    						var component = record.get('component'); // 获取组件信息
    						var json = Ext.decode(component);
							var typeName = json.typeName;
							if (!typeName) {
								alert('数据错误，请联系管理员！');
								return;
							}
    						var menuTabId = 'menu_tab_' + record.get('id'); // 获取当前菜单的ID
    						var tab = Ext.getCmp(menuTabId); // 获取Tab标签页
    						if (!tab) { // 判断是否存在
    							var curSize = centerPanel.curSize;
    							var maxSize = centerPanel.maxSize;
    							if (curSize == maxSize) {
    								centerPanel.remove(centerPanel.getComponent(1));
    							}
    							// 创建相应的panel对象
    							var panel = Ext.create(typeName, {
    								id : menuTabId
    								, title : record.get('text')
    								, autoScroll : true
    								, closable : true
    								, layout : 'fit'
    							});
    							tab = centerPanel.add(panel); // 添加到中央面板中
    						}
    						centerPanel.setActiveTab(tab); // 激活当前的tab信息
    					}
    				}
    			}
    		}));
    		westernPanel.add(Ext.create('SnowMIS.view.system.Settings', {
    			title : settings
    		}));
    	}
    }
    , initCenterPanel : function() { // 初始化中央面板
    	
    }
});